﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Management;
using System.Text;

namespace WMI.NET.CIM
{
    /// <summary>
    /// The CIM_Setting class represents configuration-related and operational parameters for one or more managed system elements. A managed system element can have multiple setting objects associated with it. The current operational values for an element's parameters are reflected by properties in the element itself or by properties in its associations. These properties do not have to be the same values present in the setting object. For example, a modem may have a setting baud rate of 56 kilobytes per second, but be operating at 19.2 kilobytes per second.
    /// </summary>
    public class CIM_Setting
    {

        private string _Caption;
        private string _Description;
        private string _SettingID;

        /// <summary>
        /// Short textual description of the CIM_Setting object.
        /// </summary>
        public string Caption { get { return _Caption; } }

        /// <summary>
        /// Textual description of the CIM_Setting object.
        /// </summary>
        public string Description { get { return _Description; } }

        /// <summary>
        /// Identifier by which the CIM_Setting object is known.
        /// </summary>
        public string SettingID { get { return _SettingID; } }

        /// <summary>
        /// 
        /// </summary>
        /// <param name="mbo"></param>
        public CIM_Setting(ManagementBaseObject mbo)
        {
            _Caption = mbo.GetStringValue("Caption");
            _Description = mbo.GetStringValue("Description");
            _SettingID = mbo.GetStringValue("SettingID");
        }
    }
}
